library(reticulate)
use_python("/opt/anaconda3/bin/python")
py_config()
python: /opt/anaconda3/bin/python
libpython: /opt/anaconda3/lib/libpython3.6m.so
pythonhome: /opt/anaconda3:/opt/anaconda3
version: 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) [GCC 7.2.0]
numpy: /opt/anaconda3/lib/python3.6/site-packages/numpy
numpy_version: 1.14.3
python versions found:
/opt/anaconda3/bin/python
/usr/bin/python
/usr/bin/python3
/home/clint/.virtualenvs/r-tensorflow/bin/python
/home/clint/plaidml/bin/python
##############################################################
import numpy as np
import pandas as pd
import os, re
import matplotlib.pyplot as plt
##############################################################
def get_fname(patient, is_mask = False):
fpath = os.path.join(FP_LGG, patient)
if is_mask:
pattern = "_([^_]*)_mask.tif$"
fname = np.array([x for x in os.listdir(fpath) if "mask" in x])
else:
pattern = "_([^_]*).tif$"
fname = np.array([x for x in os.listdir(fpath) if "mask" not in x])
index = np.array([int(re.findall(pattern, x)[0]) for x in fname])
idx = np.argsort(index)
return fname[idx]
##############################################################
FP_LGG = "/data/Duke_BIOS824/LGG-segmentation/"
patients = [x for x in os.listdir(FP_LGG) if "TCGA" in x]
patient = 'TCGA_CS_4941_19960909'
##############################################################
img_slice, img_mask = dict(), dict()
lst = get_fname(patient, is_mask = True)
img = [plt.imread(os.path.join(FP_LGG, patient, fname)) for fname in lst]
img_mask[patient] = np.array(img)
lst = get_fname(patient, is_mask = False)
img = [plt.imread(os.path.join(FP_LGG, patient, fname)) for fname in lst]
img_slice[patient] = np.array(img)
##############################################################
fig, axes = plt.subplots(ncols=4, nrows=6, figsize = (2*4, 2*6))
axes = axes.ravel()
mask = img_mask[patient]
num_img = mask.shape[0]
for idx in range(num_img):
axes[idx].imshow(mask[idx])
plt.show()
#print(img_mask[patient].shape)
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-clint'
QXcbConnection: XCB error: 148 (Unknown), sequence: 178, resource id: 0, major code: 140 (Unknown), minor code: 20
Try using R
FP_LGG = "/data/Duke_BIOS824/LGG-segmentation/"
patient = "TCGA_CS_4941_19960909"
fname = paste0(patient, "_1", ".tif")
fpath = file.path(FP_LGG, patient, fname)
my_img <- bioimagetools::readTIF(fpath)
dim(my_img)
[1] 256 256 3 1
library(plotly)
mtcars$am[which(mtcars$am == 0)] <- 'Automatic'
mtcars$am[which(mtcars$am == 1)] <- 'Manual'
mtcars$am <- as.factor(mtcars$am)
p <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, color = ~am, colors = c('#BF382A', '#0C4B8E')) %>%
add_markers() %>%
layout(scene = list(xaxis = list(title = 'Weight'),
yaxis = list(title = 'Gross horsepower'),
zaxis = list(title = '1/4 mile time')))
print(p)
NULL
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CmxpYnJhcnkocmV0aWN1bGF0ZSkKdXNlX3B5dGhvbigiL29wdC9hbmFjb25kYTMvYmluL3B5dGhvbiIpCnB5X2NvbmZpZygpCmBgYAoKYGBge3B5dGhvbn0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKaW1wb3J0IG51bXB5IGFzIG5wCmltcG9ydCBwYW5kYXMgYXMgcGQKaW1wb3J0IG9zLCByZQppbXBvcnQgbWF0cGxvdGxpYi5weXBsb3QgYXMgcGx0CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkZWYgZ2V0X2ZuYW1lKHBhdGllbnQsIGlzX21hc2sgPSBGYWxzZSk6CiAgICBmcGF0aCA9IG9zLnBhdGguam9pbihGUF9MR0csIHBhdGllbnQpCiAgICBpZiBpc19tYXNrOgogICAgICAgIHBhdHRlcm4gPSAiXyhbXl9dKilfbWFzay50aWYkIgogICAgICAgIGZuYW1lID0gbnAuYXJyYXkoW3ggZm9yIHggaW4gb3MubGlzdGRpcihmcGF0aCkgaWYgIm1hc2siIGluIHhdKQogICAgZWxzZToKICAgICAgICBwYXR0ZXJuID0gIl8oW15fXSopLnRpZiQiCiAgICAgICAgZm5hbWUgPSBucC5hcnJheShbeCBmb3IgeCBpbiBvcy5saXN0ZGlyKGZwYXRoKSBpZiAibWFzayIgbm90IGluIHhdKQogICAgaW5kZXggPSBucC5hcnJheShbaW50KHJlLmZpbmRhbGwocGF0dGVybiwgeClbMF0pIGZvciB4IGluIGZuYW1lXSkKICAgIGlkeCA9IG5wLmFyZ3NvcnQoaW5kZXgpCiAgICByZXR1cm4gZm5hbWVbaWR4XQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKRlBfTEdHID0gIi9kYXRhL0R1a2VfQklPUzgyNC9MR0ctc2VnbWVudGF0aW9uLyIKcGF0aWVudHMgPSBbeCBmb3IgeCBpbiBvcy5saXN0ZGlyKEZQX0xHRykgaWYgIlRDR0EiIGluIHhdICAgIApwYXRpZW50ID0gJ1RDR0FfQ1NfNDk0MV8xOTk2MDkwOScKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmltZ19zbGljZSwgaW1nX21hc2sgPSBkaWN0KCksIGRpY3QoKQoKbHN0ID0gZ2V0X2ZuYW1lKHBhdGllbnQsIGlzX21hc2sgPSBUcnVlKQppbWcgPSBbcGx0LmltcmVhZChvcy5wYXRoLmpvaW4oRlBfTEdHLCBwYXRpZW50LCBmbmFtZSkpIGZvciBmbmFtZSBpbiBsc3RdCmltZ19tYXNrW3BhdGllbnRdICA9IG5wLmFycmF5KGltZykKICAgIApsc3QgPSBnZXRfZm5hbWUocGF0aWVudCwgaXNfbWFzayA9IEZhbHNlKQppbWcgPSBbcGx0LmltcmVhZChvcy5wYXRoLmpvaW4oRlBfTEdHLCBwYXRpZW50LCBmbmFtZSkpIGZvciBmbmFtZSBpbiBsc3RdCmltZ19zbGljZVtwYXRpZW50XSA9IG5wLmFycmF5KGltZykKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmZpZywgYXhlcyA9IHBsdC5zdWJwbG90cyhuY29scz00LCBucm93cz02LCBmaWdzaXplID0gKDIqNCwgMio2KSkKYXhlcyA9IGF4ZXMucmF2ZWwoKQoKbWFzayAgICA9IGltZ19tYXNrW3BhdGllbnRdCm51bV9pbWcgPSBtYXNrLnNoYXBlWzBdCgpmb3IgaWR4IGluIHJhbmdlKG51bV9pbWcpOgogICAgYXhlc1tpZHhdLmltc2hvdyhtYXNrW2lkeF0pCgpwbHQuc2hvdygpCiNwcmludChpbWdfbWFza1twYXRpZW50XS5zaGFwZSkKYGBgCgojIFRyeSB1c2luZyBSCgpgYGB7cn0KRlBfTEdHID0gIi9kYXRhL0R1a2VfQklPUzgyNC9MR0ctc2VnbWVudGF0aW9uLyIKcGF0aWVudCA9ICJUQ0dBX0NTXzQ5NDFfMTk5NjA5MDkiCmZuYW1lID0gcGFzdGUwKHBhdGllbnQsICJfMSIsICIudGlmIikKZnBhdGggPSBmaWxlLnBhdGgoRlBfTEdHLCBwYXRpZW50LCBmbmFtZSkKbXlfaW1nIDwtIGJpb2ltYWdldG9vbHM6OnJlYWRUSUYoZnBhdGgpCmBgYAoKYGBge3J9CmRpbShteV9pbWcpCmBgYAoKCmBgYHtyfQpsaWJyYXJ5KHBsb3RseSkKCm10Y2FycyRhbVt3aGljaChtdGNhcnMkYW0gPT0gMCldIDwtICdBdXRvbWF0aWMnCm10Y2FycyRhbVt3aGljaChtdGNhcnMkYW0gPT0gMSldIDwtICdNYW51YWwnCm10Y2FycyRhbSA8LSBhcy5mYWN0b3IobXRjYXJzJGFtKQoKcCA8LSBwbG90X2x5KG10Y2FycywgeCA9IH53dCwgeSA9IH5ocCwgeiA9IH5xc2VjLCBjb2xvciA9IH5hbSwgY29sb3JzID0gYygnI0JGMzgyQScsICcjMEM0QjhFJykpICU+JQogIGFkZF9tYXJrZXJzKCkgJT4lCiAgbGF5b3V0KHNjZW5lID0gbGlzdCh4YXhpcyA9IGxpc3QodGl0bGUgPSAnV2VpZ2h0JyksCiAgICAgICAgICAgICAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICdHcm9zcyBob3JzZXBvd2VyJyksCiAgICAgICAgICAgICAgICAgICAgIHpheGlzID0gbGlzdCh0aXRsZSA9ICcxLzQgbWlsZSB0aW1lJykpKQoKcHJpbnQocCkKYGBgCgo=